export function formatTool(data, type) {
	let reg
	switch (type) {
		case 1:
			// 非零开头的最多带两位小数的数字
			reg = /^([1-9][0-9]*)+(.[0-9]{1,2})?$/
			return reg.test(data)
			break
		case 2:
			// 非零开头数字
			reg = /^(0|[1-9][0-9]*)$/
			return reg.test(data)
			break
		case 3:
			// 身份证号码(18位)
			reg = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
			return reg.test(data)
			break
		case 4:
			// 手机号码
			// 规则
			// 1、以1开头
			// 2、第二位数字为3，4，5，6，7，8，9中一个
			// 3、第三位到十一位数字为0到9的任意一个数字
			reg = /^1[3-9]\d{9}$/
			return reg.test(data)
			break
		case 5:
			// 合法E-mail地址：
			// 只允许英文字母、数字、下划线、英文句号、以及中划线组成
			reg = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/
			return reg.test(data)
			break
		case 6:
			// 最多带两位小数的数字
			reg = /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,2})))$/
			return reg.test(data)
			break
		case 7:
			// 控制输入最多带两位小数的数字
			return data.toString().match(/^\d+(?:\.\d{0,2})?/)
			break
		case 8:
			// 银行卡号
			reg = /^([1-9]{1})(\d{14}|\d{18})$/
			data = data.replace(/\s+/g, '')
			return reg.test(data)
			break
		case 9:
			// 组织机构代码
			reg = /[a-zA-Z0-9]{8}-[a-zA-Z0-9]/
			return reg.test(data)
			break
		case 10:
			// 营业执照注册号（企业）
			reg = /(^(?:(?![IOZSV])[\dA-Z]){2}\d{6}(?:(?![IOZSV])[\dA-Z]){10}$)|(^\d{15}$)/
			return reg.test(data)
			break
		case 11:
			// 手机和座机号码正则表达式
			reg =
				/^(((\d{3,4}-)?[0-9]{7,8})|(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8})$/
			return reg.test(data)
			break
		case 12:
			reg = /^[a-zA-Z\u4e00-\u9fa5]+$/
			return reg.test(data)
			break
		default:
			// 数字
			reg = /^[0-9]*$/
			return reg.test(data)
			break
	}
}

/**
 * 电话号码：包括11位手机号和普通座机号码
 * @param rule
 * @param value
 * @param callback
 */
export const isTelephone = (rule, value, callback) => {
	const patrn =
		/^(1[3-9][0-9]{9}$)|(^([+]{0,1}(\d){3,4}[-](\d){7,8}|[+]{0,1}(\d){3,4}[-](\d){7,8}?([-](\d){1,4}))$)/;
	// /^(1[0-9]{10}$)|^(([+]{0,1}(\d){3,4}[-](\d){7,8}|[+]{0,1}(\d){3,4}(\d){7}|[+]{0,1}(\d){3,4}[-](\d){7,8}?([-](\d){1,4}))$)/;
	if (value && !patrn.test(value)) {
		callback(new Error('请输入正确的手机号码或座机号码！'));
	} else {
		callback();
	}
};
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = 'tmp_base64src'; //自定义文件名

export const base64src = (base64data, cb, name) => {
	const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
	if (!format) {
		return (new Error('ERROR_BASE64SRC_PARSE'));
	}
	const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}${(new Date()).valueOf()}.${format}`;
	const buffer = wx.base64ToArrayBuffer(bodyData);
	fsm.writeFile({
		filePath,
		data: buffer,
		encoding: 'binary',
		success() {
			cb(filePath);
		},
		fail() {
			return (new Error('ERROR_BASE64SRC_WRITE'));
		},
	});
};